/**
 * 分页查询
 *
 * Model.find(条件, 需要返回的字段, 更多配置)
 *    更多配置
 *        skip      跳过多少条
 *        limit     限制多少条
 *
 * 数据总条数
 * Model.count()
 *
 * 总页数的计算
 *    Math.ceil(总的条数 / 每页显示的条数)
 */

const mongoose = require("mongoose");

async function main() {
  await mongoose.connect("mongodb://localhost:27017/maizuo");

  const schema = new mongoose.Schema({
    filmId: Number,
    name: String,
  });

  const FilmModel = mongoose.model("Film", schema);

  // 显示每页显示 10 条
  // 第一页   skip 0   limit 10
  // 第二页   skip 10  limit 10
  // 第三页   skip 20  limit 10
  // 第四页   skip 30  limit 10
  // ...

  // 页数
  const page = 4;
  // 每页的显示条数
  const pageSize = 20;

  const data = await FilmModel.find({}, "filmId name", {
    skip: (page - 1) * pageSize,
    limit: pageSize,
  });
  console.log(data);
  console.log(data.length);

  // 计算数据总条数
  const number = await FilmModel.count();
  console.log("数据总条数：", number);

  // 计算总的页数
  const pageTotal = Math.ceil(number / pageSize);
  console.log("总的页数：", pageTotal);
}

main();
